//
//  NSDate+QSExtension.h
//  testDemo
//
//  Created by apple on 2017/6/23.
//  Copyright © 2017年 apple. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSDate (QSExtension)
/**
 *  NSDate转NSString
 *  @param date 日期
 *  @param dateFormat 日期格式 (yyyy-MM-dd HH:mm:ss zzz)
 *  return    返回日期字符串
 */
- (NSString *)stringFromDate:(NSDate *)date withDateFormat:(NSString *)dateFormat;

/**
 *  NSString转NSDate
 *  @param string 日期字符串
 *  @param dateFormat 日期格式 (yyyy-MM-dd HH:mm:ss zzz)
 *  return    返回日期
 */
- (NSDate *)dateFromString:(NSString *)string withDateFormat:(NSString *)dateFormat;

/**
 *  将世界时间转化为中国区时间
 *
 *  @param date 世界时间
 *  return 中国区时间
 */
+ (NSDate *)worldTimeToChinaTime:(NSDate *)date;

/**
 *  计算两个日期的时间间隔
 *
 *  @param dateOne 日期1
 *  @param dateTwo 日期2
 *  @param dateFormatterStr 日期格式化器字符串 （@"yyyy-MM-dd HH:mm:ss"）
 *  return 是假间隔
 */
- (NSMutableDictionary *)calculateTimeIntervalfromDateOne:(NSString *)dateOne toDateTwo:(NSString *)dateTwo withDateFormatter:(NSString *)dateFormatterStr;

/**
 *  比较2个日期差
 */
-(NSDateComponents *)intervalToDate:(NSDate *)date;

/**
 *  与当前时间比较
 */
-(NSDateComponents *)intervalToNow;

/**
 *  获取年
 */
-(NSString *)yearByDate;

/**
 *  获取月
 */
-(NSString *)monthByDate;

/**
 *  获取日
 */
-(NSString *)dayByDate;

/**
 *  获取时分
 */
- (NSString *)hourMinByDate;

/**
 *  获取星期
 */
-(NSString *)weekdayByDate;

/**
 *  获取上一年
 */
-(NSDate *)getLastYear;

/**
 *  获取下一年
 */
-(NSDate *)getNextYear;

/**
 *  获取上一个月
 */
-(NSDate *)getLastMonth;

/**
 *  获取下一个月
 */
-(NSDate *)getNextMonth;

/**
 *  获取上一日
 */
-(NSDate *)getLastDay;

/**
 *  获取下一日
 */
- (NSDate *)getNextDay;

/**
 *  是否是今天
 */
- (BOOL)isToday;

/**
 *  时间戳转换为时间
 *
 *  @param timeStamp 时间戳
 */
+ (NSDate *)timeStampChangeToDate:(NSString *)timeStamp;

@end
